Micron Document
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
| SparkN0de-git | SparkN0de |
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

Node / ReticulumProjects / MeshChatX.git / files / android / app / src / main / java / com / meshchatx / MeshChatApplication.java

Displaying Raw • Download


android/app/src/main/java/com/meshchatx/MeshChatApplication.java e0f1f99cd1c208c5008a936230c38e448dddd45d (e0f1f99c) Text, 4.24 KB

Tff7b72package T7ee787com.meshchatxTb4b4b4;

Tff7b72import T7ee787android.app.ApplicationTb4b4b4;
Tff7b72import T7ee787android.app.NotificationTb4b4b4;
Tff7b72import T7ee787android.app.NotificationChannelTb4b4b4;
Tff7b72import T7ee787android.app.NotificationManagerTb4b4b4;
Tff7b72import T7ee787android.content.ContextTb4b4b4;
Tff7b72import T7ee787android.media.AudioAttributesTb4b4b4;
Tff7b72import T7ee787android.media.RingtoneManagerTb4b4b4;
Tff7b72import T7ee787android.net.UriTb4b4b4;
Tff7b72import T7ee787android.os.BuildTb4b4b4;
Tff7b72import T7ee787android.provider.SettingsTb4b4b4;

Tff7b72import T7ee787com.chaquo.python.android.PyApplicationTb4b4b4;

Tff7b72public Tff7b72class T56d364MeshChatApplication Tff7b72extends Te6edf3PyApplication Tb4b4b4{
Tff7b72public Tff7b72static Tff7b72final Te6edf3String Te6edf3CHANNEL_ID_MESSAGES Tff7b72= Ta5d6ff"Ta5d6ffmeshchatx_messagesTa5d6ff"Tb4b4b4;
Tff7b72public Tff7b72static Tff7b72final Te6edf3String Te6edf3CHANNEL_ID_BACKGROUND Tff7b72= Ta5d6ff"Ta5d6ffmeshchatx_backgroundTa5d6ff"Tb4b4b4;
Tff7b72public Tff7b72static Tff7b72final Te6edf3String Te6edf3CHANNEL_ID_CALLS Tff7b72= Ta5d6ff"Ta5d6ffmeshchatx_callsTa5d6ff"Tb4b4b4;

Tff7b72private Tff7b72static Tff7b72volatile Te6edf3Context Te6edf3appContextTb4b4b4;

Tff7b72public Tff7b72static Te6edf3Context Td2a8ffgetAppContextTb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72return Te6edf3appContextTb4b4b4;
Tb4b4b4}

Tf0883e@Override
Tff7b72public Tffa657void Td2a8ffonCreateTb4b4b4(Tb4b4b4) Tb4b4b4{
T8b949e// Preload libcodec2.so into the process before Chaquopy imports pycodec2.
T8b949e// pycodec2.so NEEDED libcodec2.so has no RPATH so dlopen must already
T8b949e// resolve it (jniLibs or System.loadLibrary).
Te6edf3preloadCodec2NativeLibraryTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72superTb4b4b4.Te6edf3onCreateTb4b4b4(Tb4b4b4)Tb4b4b4;
Te6edf3appContext Tff7b72= Te6edf3getApplicationContextTb4b4b4(Tb4b4b4)Tb4b4b4;
Te6edf3createNotificationChannelsTb4b4b4(Tb4b4b4)Tb4b4b4;
Tb4b4b4}

Tff7b72private Tffa657void Td2a8ffpreloadCodec2NativeLibraryTb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72try Tb4b4b4{
Te6edf3SystemTb4b4b4.Te6edf3loadLibraryTb4b4b4(Ta5d6ff"Ta5d6ffcodec2Ta5d6ff"Tb4b4b4)Tb4b4b4;
Tb4b4b4} Tff7b72catch Tb4b4b4(Te6edf3UnsatisfiedLinkError Te6edf3eTb4b4b4) Tb4b4b4{
Te6edf3androidTb4b4b4.Te6edf3utilTb4b4b4.Te6edf3LogTb4b4b4.Te6edf3wTb4b4b4(
Ta5d6ff"Ta5d6ffMeshChatXTa5d6ff"Tb4b4b4,
Ta5d6ff"Ta5d6ffSystem.loadLibrary(codec2) failed before Python start: Ta5d6ff" Tff7b72+ Te6edf3eTb4b4b4.Te6edf3getMessageTb4b4b4(Tb4b4b4)
Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tff7b72try Tb4b4b4{
Te6edf3String Te6edf3nativeDir Tff7b72= Te6edf3getApplicationInfoTb4b4b4(Tb4b4b4)Tb4b4b4.Te6edf3nativeLibraryDirTb4b4b4;
Tff7b72if Tb4b4b4(Te6edf3nativeDir Tff7b72!Tff7b72= Tff7b72null Tff7b72&Tff7b72& Tff7b72!Te6edf3nativeDirTb4b4b4.Te6edf3isEmptyTb4b4b4(Tb4b4b4)Tb4b4b4) Tb4b4b4{
Te6edf3androidTb4b4b4.Te6edf3systemTb4b4b4.Te6edf3OsTb4b4b4.Te6edf3setenvTb4b4b4(Ta5d6ff"Ta5d6ffMESHCHAT_NATIVE_LIB_DIRTa5d6ff"Tb4b4b4, Te6edf3nativeDirTb4b4b4, Tff7b72trueTb4b4b4)Tb4b4b4;
Tb4b4b4}
Tb4b4b4} Tff7b72catch Tb4b4b4(Te6edf3Exception Te6edf3eTb4b4b4) Tb4b4b4{
Te6edf3androidTb4b4b4.Te6edf3utilTb4b4b4.Te6edf3LogTb4b4b4.Te6edf3wTb4b4b4(
Ta5d6ff"Ta5d6ffMeshChatXTa5d6ff"Tb4b4b4,
Ta5d6ff"Ta5d6ffCould not set MESHCHAT_NATIVE_LIB_DIR: Ta5d6ff" Tff7b72+ Te6edf3eTb4b4b4.Te6edf3getMessageTb4b4b4(Tb4b4b4)
Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tb4b4b4}

Tff7b72private Tffa657void Td2a8ffcreateNotificationChannelsTb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Te6edf3BuildTb4b4b4.Te6edf3VERSIONTb4b4b4.Te6edf3SDK_INT Tff7b72< Te6edf3BuildTb4b4b4.Te6edf3VERSION_CODESTb4b4b4.Te6edf3OTb4b4b4) Tb4b4b4{
Tff7b72returnTb4b4b4;
Tb4b4b4}
Te6edf3NotificationManager Te6edf3nm Tff7b72= Te6edf3getSystemServiceTb4b4b4(Te6edf3NotificationManagerTb4b4b4.Te6edf3classTb4b4b4)Tb4b4b4;
Tff7b72if Tb4b4b4(Te6edf3nm Tff7b72=Tff7b72= Tff7b72nullTb4b4b4) Tb4b4b4{
Tff7b72returnTb4b4b4;
Tb4b4b4}

Te6edf3NotificationChannel Te6edf3background Tff7b72= Tff7b72new Te6edf3NotificationChannelTb4b4b4(
Te6edf3CHANNEL_ID_BACKGROUNDTb4b4b4,
Te6edf3getStringTb4b4b4(Te6edf3RTb4b4b4.Te6edf3stringTb4b4b4.Te6edf3notification_channel_background_nameTb4b4b4)Tb4b4b4,
Te6edf3NotificationManagerTb4b4b4.Te6edf3IMPORTANCE_LOW
Tb4b4b4)Tb4b4b4;
Te6edf3backgroundTb4b4b4.Te6edf3setDescriptionTb4b4b4(Te6edf3getStringTb4b4b4(Te6edf3RTb4b4b4.Te6edf3stringTb4b4b4.Te6edf3notification_channel_background_descTb4b4b4)Tb4b4b4)Tb4b4b4;
Te6edf3nmTb4b4b4.Te6edf3createNotificationChannelTb4b4b4(Te6edf3backgroundTb4b4b4)Tb4b4b4;

Te6edf3NotificationChannel Te6edf3messages Tff7b72= Tff7b72new Te6edf3NotificationChannelTb4b4b4(
Te6edf3CHANNEL_ID_MESSAGESTb4b4b4,
Te6edf3getStringTb4b4b4(Te6edf3RTb4b4b4.Te6edf3stringTb4b4b4.Te6edf3notification_channel_messages_nameTb4b4b4)Tb4b4b4,
Te6edf3NotificationManagerTb4b4b4.Te6edf3IMPORTANCE_HIGH
Tb4b4b4)Tb4b4b4;
Te6edf3messagesTb4b4b4.Te6edf3setDescriptionTb4b4b4(Te6edf3getStringTb4b4b4(Te6edf3RTb4b4b4.Te6edf3stringTb4b4b4.Te6edf3notification_channel_messages_descTb4b4b4)Tb4b4b4)Tb4b4b4;
Te6edf3nmTb4b4b4.Te6edf3createNotificationChannelTb4b4b4(Te6edf3messagesTb4b4b4)Tb4b4b4;

Te6edf3Uri Te6edf3ringUri Tff7b72= Te6edf3RingtoneManagerTb4b4b4.Te6edf3getDefaultUriTb4b4b4(Te6edf3RingtoneManagerTb4b4b4.Te6edf3TYPE_RINGTONETb4b4b4)Tb4b4b4;
Tff7b72if Tb4b4b4(Te6edf3ringUri Tff7b72=Tff7b72= Tff7b72nullTb4b4b4) Tb4b4b4{
Te6edf3ringUri Tff7b72= Te6edf3SettingsTb4b4b4.Te6edf3SystemTb4b4b4.Te6edf3DEFAULT_RINGTONE_URITb4b4b4;
Tb4b4b4}
Te6edf3NotificationChannel Te6edf3calls Tff7b72= Tff7b72new Te6edf3NotificationChannelTb4b4b4(
Te6edf3CHANNEL_ID_CALLSTb4b4b4,
Te6edf3getStringTb4b4b4(Te6edf3RTb4b4b4.Te6edf3stringTb4b4b4.Te6edf3notification_channel_calls_nameTb4b4b4)Tb4b4b4,
Te6edf3NotificationManagerTb4b4b4.Te6edf3IMPORTANCE_HIGH
Tb4b4b4)Tb4b4b4;
Te6edf3callsTb4b4b4.Te6edf3setDescriptionTb4b4b4(Te6edf3getStringTb4b4b4(Te6edf3RTb4b4b4.Te6edf3stringTb4b4b4.Te6edf3notification_channel_calls_descTb4b4b4)Tb4b4b4)Tb4b4b4;
Te6edf3callsTb4b4b4.Te6edf3setLockscreenVisibilityTb4b4b4(Te6edf3NotificationTb4b4b4.Te6edf3VISIBILITY_PUBLICTb4b4b4)Tb4b4b4;
Tff7b72if Tb4b4b4(Te6edf3BuildTb4b4b4.Te6edf3VERSIONTb4b4b4.Te6edf3SDK_INT Tff7b72>Tff7b72= Te6edf3BuildTb4b4b4.Te6edf3VERSION_CODESTb4b4b4.Te6edf3QTb4b4b4) Tb4b4b4{
Te6edf3callsTb4b4b4.Te6edf3setBypassDndTb4b4b4(Tff7b72trueTb4b4b4)Tb4b4b4;
Tb4b4b4}
Tff7b72if Tb4b4b4(Te6edf3ringUri Tff7b72!Tff7b72= Tff7b72nullTb4b4b4) Tb4b4b4{
Te6edf3callsTb4b4b4.Te6edf3setSoundTb4b4b4(
Te6edf3ringUriTb4b4b4,
Tff7b72new Te6edf3AudioAttributesTb4b4b4.Te6edf3BuilderTb4b4b4(Tb4b4b4)
Tb4b4b4.Te6edf3setUsageTb4b4b4(Te6edf3AudioAttributesTb4b4b4.Te6edf3USAGE_NOTIFICATION_RINGTONETb4b4b4)
Tb4b4b4.Te6edf3setContentTypeTb4b4b4(Te6edf3AudioAttributesTb4b4b4.Te6edf3CONTENT_TYPE_SONIFICATIONTb4b4b4)
Tb4b4b4.Te6edf3buildTb4b4b4(Tb4b4b4)
Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tffa657longTff7b72[Tff7b72] Te6edf3pattern Tff7b72= Tff7b72new Tffa657longTff7b72[Tff7b72] Tb4b4b4{T79c0ff0Tb4b4b4, T79c0ff400Tb4b4b4, T79c0ff200Tb4b4b4, T79c0ff400Tb4b4b4, T79c0ff200Tb4b4b4, T79c0ff600Tb4b4b4}Tb4b4b4;
Tff7b72try Tb4b4b4{
Te6edf3callsTb4b4b4.Te6edf3setVibrationPatternTb4b4b4(Te6edf3patternTb4b4b4)Tb4b4b4;
Tb4b4b4} Tff7b72catch Tb4b4b4(Te6edf3Exception Te6edf3ignoredTb4b4b4) Tb4b4b4{
Tb4b4b4}
Te6edf3nmTb4b4b4.Te6edf3createNotificationChannelTb4b4b4(Te6edf3callsTb4b4b4)Tb4b4b4;
Tb4b4b4}
Tb4b4b4}


──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────